package v1

import (
	"com.yt/models"
	"com.yt/utils"
	"github.com/gin-gonic/gin"
)

// ShowAccount godoc
// @Summary 获取商品详细信息 对应页面 /
// @Description 获取商品详细信息
// @ID get-product-by-id
// @Accept  json
// @Produce  json
// @Param id path int true "商品ID"
// @Success 200 {object} utils.SuccessData
// @Failure 400 {object} utils.HTTPError
// @Failure 404 {object} utils.HTTPError
// @Failure 500 {object} utils.HTTPError
// @Router /api/v1/products/query [get]
func GetProductById(ctx *gin.Context) {

	var product models.Product
	ctx.ShouldBind(&product)
	if product.ID == 0 {
		utils.NewErrorMsg(ctx, "参数必填项不能为空")
		return
	}
	db := models.GetDb()
	db.Where(&product).Find(&product)
	if product.ID == 0 {
		utils.NewErrorMsg(ctx, "商品信息不存在")
		return
	}
	utils.NewData(ctx, product)
	return
}

// ShowAccount godoc
// @Summary 获取商品列表
// @Description 获取商品列表
// @ID get-product-list
// @Accept  json
// @Produce  json
// @Success 200 {object} utils.SuccessData
// @Failure 400 {object} utils.HTTPError
// @Failure 404 {object} utils.HTTPError
// @Failure 500 {object} utils.HTTPError
// @Router /api/v1/products [get]
func GetListProductList(ctx *gin.Context) {
	var products []models.Product
	db := models.GetDb()
	db.Find(&products)
	if len(products) == 0 {
		utils.NewErrorMsg(ctx, "暂无商品信息")
		return
	}
	utils.NewSuccessMsgWithData(ctx, "数据获取成功", products)
	return
}
